In many signal processing applications a digitizing tablet is used to convert pen or stylus motion into a set of electrical data which is then processed by digital equipment. Typically, there is a special electronic or electromagnetic grid or surface which detects the X and Y positions of the pen as it moves along the surface at a periodic rate. The information is present as two digital data words at a periodic clock rate. This class of technology is used for signature verifications, automatic drafting, graphics, character recognition, handwriting recognition and so forth. In each case, the user writes on the writing surface with the writing instrument and the position is monitored electronically.
In connecting such a device directly to a processing system there are problems because the raw data may contain certain kinds of noise and other defects that can adversely effect applications that process the data for editing, character recognition, graphics and other uses. The noise may be electrical or mechanical noise produces by the equipment employed to generate the sequence of signals corresponding to the stroke of the writing instrument.
An input filter for hand drawn strokes can be a dominant computation cost for handwriting recognition, because input points vastly outnumber features. There are a number of patents in the handwriting recognition area, each having certain advantages and disadvantages.
In U.S. Pat. No. 4,375,081 to B. Blesser there is described a technique for removing or minimizing noise over the length of a stroke caused by writing slowly. The technique comprises filtering a signal represented by a first series of indicia where each indicium of the series represents an amplitude by serially averaging the amplitudes of sets on n indicia of the series to form a second series of indicia and serially amplitude comparing each subsequently occurring indicium thereof to form a third series of indicia which includes those indicia resulting from comparisons having an amplitude difference greater than a predetermined amount. A tablet periodically emits two dimensional values representing the x and y positions of a stylus. A first smoother is a two dimensional lowpass filter which averages the data from the tablet in a running average. This operation reduces the electrical noise since the averaging takes place over a fixed number p of points. This reduces the electrical noise in the data. Note this averaging is in terms of time since a fixed number of points corresponds to a fixed time interval. Further since this operation reduces the bandwidth of the data, the data can be resampled in the space domain. A resampler discards points which are too close together. Hence, it only keeps points which are spaced more than some threshold amount K. The resampler thus creates a space sampling rather than a time sampling. A second smoother performs another averaging or lowpass operation which smoothes data in the space domain rather than in the time domain.
In U.S. Pat. No. 4,284,975 to K. Odaka there is disclosed a pattern recognition system for hand-written characters operating on an on-line basis comprising a character input unit for providing the coordinates of a plurality of points on strokes of a hand-written input character, an approximate unit for providing some feature points for each stroke of the input character, a pattern difference calculator for providing the sum of the length between the feature points of the input character and those of the reference characters which are stored in the reference pattern storage, and a minimum value of the difference among the pattern differences thus calculated and determining the input character as the reference character which provides the minimum difference.
In U.S. Pat. No. 4,653,107 to Sojima et al method and apparatus are described for on-line recognition of a handwritten pattern. Coordinates of a handwritten pattern drawn on a tablet are sequentially sampled by a pattern recognition unit to prepare pattern coordinate data. Based on an area encircled by segments created by the sampled pattern coordinate data of one stroke and a line connecting a start point and an end point of the one-stroke coordinate data, the sampled pattern coordinate data of the one stroke is converted to a straight line and/or curved line segments. The converted segments are quantized and normalized. The segments of the normalized input pattern are rearranged so that the input pattern is drawn in a predetermined sequence. Differences between direction angles for the rearranged segments are calculated. Those differences are compared with differences of the direction angles of the dictionary patterns read from a memory to calculate a difference therebetween. The matching of the input pattern and the dictionary pattern is determined in accordance with the difference. If the matching fails, the first or last inputted segment of the input pattern is deleted or the sampled pattern coordinate data of the next stroke is added, to continue the recognition process.
In U.S. Pat. No. 4,718,103 to Shojima et al a method and apparatus are described for recognizing handwritten patterns. A handwritten pattern approximated to a series of polygonal lines consisting of segments is compared with a candidate pattern selected from dictionary patterns stored in the memory, basing on the angular variation between adjacent segments of both patterns. If the difference between angular variations of adjoining segments of both patterns is outside of a certain range, it is tested whether the difference between an angular variation across three or more consecutive segments and the above reference angular variation is within the range.
In U.S. Pat. No. 4,365,235 to E. Greanias et al a Chinese/Kanji on-line recognition system is described. consisting of four main sections these being tablet electronics. a signal filter and segment integration unit, a base stroke classification unit and a symbol element recognition unit and a symbol recognition output table. The tablet electronics provides pen coordinate signals and pen up/down signals which are applied to the signal filter and segment integration unit to define segments of strokes which correspond to continuous motion of a pen on a tablet in a fixed direction. The base stroke classification unit classifies the motion of the pen between pen down and pen up occurrences in one of 42 categories and also indicates if the stroke has crossed a prior stroke. This is then analyzed by the symbol element recognition unit which interprets the base strokes that have been recorded for the word and generates a sequence of symbol elements, referred to as "alphabet" components, that occur in this symbol. The sequence of symbol elements are interpreted in the symbol recognition output table which provides a form of a simple table look-up to determine the word that had been written. Only 72 basic symbol elements (alphabet) are required to synthesize all of the Chinese/Kanji vocabulary. Successive pen positions, received from the tablet electronics are compared in order to filter out excessive data due to pauses in the pen motion or due to random signal fluctuations. These fluctuations occur as a result of the tablet's finite spatial resolution and sampling time. The filtering algorithm that is used produces new output coordinates whenever the pen position differs from the preceding filter threshold, also called the filter constant, is adjusted to be somewhat smaller when the pen has begun to move across the table than it is when the pen is placed down on the tablet.
According to the present invention an input filter for handwriting recognition requires no pre-filtering or smoothing. This is so, as a cross-product filter is utilized. The mathematical properties of the cross product of vectors, comprising a stroke, substantially eliminates x-y jitter. Short strokes have small cross products. The cross product is the length of one vector, times the length of another vector, times the sine of the angle between them. If the vectors are short, no angle can make the cross product greater than a jitter threshold.